Communication system

ABSTRACT

Methods and systems for integrated communications are pro-vided. In one embodiment, a user input is received via a user interface. Media data is received in response to receiving the user input. The media data is streamed to one or more communication system users. In some embodiments, the media data is posted to a shared virtual space associated with a communication system channel. Other methods and systems are described.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. patent application Ser. No.13/648,399, entitled “COMMUNICATION SYSTEM” filed on Oct. 10, 2012 whichclaims the benefit of U.S. provisional patent application Ser. No.61/545,346, entitled “ENHANCED COMMUNICATION AND INFORMATION SHARING,”filed on Oct. 10, 2011, both of which are herein incorporated byreference in their entirety.

TECHNICAL FIELD

The present disclosure relates to communications systems, and moreparticularly relates to multi-data type communications systems.

BACKGROUND OF THE DISCLOSURE

A variety of communications systems and mechanisms are frequently usedin both business related and personal interactions. The communicationssystems that are available can often shape the way people interact withone another. Communication and expression may often have to be forcedthrough an ineffective communication medium. At times, the restrictionsprovided by the modality of communication, such as audio only, textonly, two party only, synchronousonly or asynchronousonly, etc., canplace limitations and restrictions on the expression of ideas. Theresult may be that individuals may be left with an incomplete orinadequate ability for expression, communication or interaction.

SUMMARY OF THE DISCLOSURE

According to a first implementation, a method may include receiving auser input via a user interface. The method may also include receivingmedia data in response to receiving the user input. The method may alsoinclude streaming the media data to one or more communication systemusers. The method may further include posting the media data to a sharedvirtual space associated with a communication system channel.

One or more of the following features may be included. The user inputmay include an associated input duration time period. Receiving themedia data may include receiving the media data for the input duration.The method may also include receiving an input modification. Receivingthe media data in response to the input modification may includereceiving the media data for a time period greater than the inputduration.

The media data may include audio media data. The media data may includevisual media data. Receiving the media data in response to the input mayinclude receiving digital image data. Receiving the media data inresponse to the input modification may include receiving video data.

Streaming the media data may include streaming the media data to atleast a second communication system user. Posting the media data mayinclude simultaneously posting the media data to the shared virtualspace associated with the communication system channel Streaming themedia data may include transmitting the media data as low latencypacketized data transmissions.

The method may also include receiving a transmission from a secondcommunication system user. Receiving the transmission from the secondcommunication system user may not time-wise overlap with the streamingthe media data. Posting the media data may include sequentially postingthe media data with respect to a post associated with the transmissionfrom the second communication system user. Receiving the transmissionfrom the second communication system user may time-wise overlap with thestreaming the media data. Streaming the media data may include combiningthe media data and the transmission from the second communication systemuser as a multi-directional streaming media data transmission. Receivingthe transmission from the second communication system user may time-wiseoverlap with the streaming the media data. Posting the media data mayinclude posting the media data and the transmission from the secondcommunication system user as a combined media data post.

According to another implementation, a computer program product mayinclude a computer readable medium having a plurality of instructionsstored on it. When executed by a processor, the instructions may causethe processor to perform operations including receiving a user input viaa user interface. The operations may also include receiving media datain response to receiving the user input. The operations may also includestreaming the media data to one or more communication system users. Theoperations may further include posting the media data to a sharedvirtual space associated with a communication system channel.

One or more of the following features may be included. The user inputmay include an associated input duration time period. Receiving themedia data may include receiving the media data for the input duration.Instructions may also be included for receiving an input modification.Receiving the media data in response to the input modification mayinclude receiving the media data for a time period greater than theinput duration.

The media data may include audio media data. The media data may includevisual media data. Receiving the media data in response to the input mayinclude receiving digital image data. Receiving the media data inresponse to the input modification may include receiving video data.

Streaming the media data may include streaming the media data to atleast a second communication system user. Posting the media data mayinclude simultaneously posting the media data to the shared virtualspace associated with the communication system channel. Streaming themedia data may include transmitting the media data as low latencypacketized data transmissions.

Instructions may also be included for receiving a transmission from asecond communication system user. Receiving the transmission from thesecond communication system user may not time-wise overlap with thestreaming the media data. Posting the media data may includesequentially posting the media data with respect to a post associatedwith the transmission from the second communication system user.Receiving the transmission from the second communication system user maytime-wise overlap with the streaming the media data. Streaming the mediadata may include combining the media data and the transmission from thesecond communication system user as a multi-directional streaming mediadata transmission. Receiving the transmission from the secondcommunication system user may time-wise overlap with the streaming themedia data. Posting the media data may include posting the media dataand the transmission from the second communication system user as acombined media data post.

According to another implementation a computing system may include atleast one processor. The at least one processor may be configured forreceiving a user input via a user interface. The at least one processormay also be configured for receiving media data in response to receivingthe user input. The at least one processor may also be configured forstreaming the media data to one or more communication system users. Theat least one processor may further be con-figured for posting the mediadata to a shared virtual space associated with a communication systemchannel.

One or more of the following features may be included. The user inputmay include an associated input duration time period. Receiving themedia data may include receiving the media data for the input duration.The at least one processor may be further configured for receiving aninput modification. Receiving the media data in response to the inputmodification may include receiving the media data for a time periodgreater than the input duration.

The media data may include audio media data. The media data may includevisual media. Receiving the media data in response to the input mayinclude receiving digital image data. Receiving the media data inresponse to the input modification may include receiving video data.

Streaming the media data may include streaming the media data to atleast a second communication system user. Posting the media data mayinclude simultaneously posting the media data to the shared virtualspace associated with the communication system channel. Streaming themedia data may include transmitting the media data as low latencypacketized data transmissions.

The at least one processor may be further configured for receiving atransmission from a second communication system user. Receiving thetransmission from the second communication system user may not time-wiseoverlap with the streaming the media data. Posting the media data mayinclude sequentially posting the media data with respect to a postassociated with the transmission from the second communication systemuser. Receiving the transmission from the second communication systemuser may time-wise overlap with the streaming the media data. Streamingthe media data may include combining the media data and the transmissionfrom the second communication system user as a multi-directionalstreaming media data transmission. Receiving the transmission from thesecond communication system user may time-wise overlap with thestreaming the media data. Posting the media data may include posting themedia data and the transmission from the second communication systemuser as a combined media data post.

According to another implementation, a method may include receiving aplurality of media items from a communication system. The plurality ofmedia items may include at least audio media items and visual mediaitems. The method may also include providing a user interface includinga time-wise sequence display of the audio media items and a time-wisesequence display of the visual media items. The method may also includeaccessing the audio media item including sequencing the display of thevisual media items based on the display of the audio media items. Themethod may further include accessing the visual media items includingsequencing the display of the visual media items independently of thedisplay of audio media items.

One or more of the following features may be included. The audio mediaitems may include a plurality of audio segments corresponding torespective audio transmissions by one or more users associated with achannel of the communication system. At least a portion of the audiosegments may correspond to a multi-party conversation. The multi-partyconversation may include an ongoing multi-party conversation. Accessingthe audio media items may include accessing one or more audio segmentsassociated with a prior portion of the ongoing multi-party conversation.Accessing the audio media items may include accessing a streaming audiosequence associated with a current portion of the ongoing multi-partyconversation. Each audio segment may include an associated identifier ofa creator of the audio segment.

Receiving the visual media item may include dis-playing the visual mediaitem based on, at least in part, a minimum display time for receivedvisual media items.

According to another implementation, a computer program product mayinclude a non-transitory computer readable medium having a plurality ofinstructions stored on it. When executed by a processor the instructionsmay cause the processor to perform operations include receiving aplurality of media items from a communication system, the plurality ofmedia items including at least audio media items and visual media items.The operations may also include providing a user interface including atime-wise sequence display of the audio media items and a time-wisesequence display of the visual media items. The operations may alsoinclude accessing the audio media item including sequencing the displayof the visual media items based on the display of the audio media items.The operations may further include accessing the visual media itemsincluding sequencing the display of the visual media items independentlyof the display of audio media items.

One or more of the following features may be included. The audio mediaitems may include a plurality of audio segments corresponding torespective audio transmissions by one or more users associated with achannel of the communication system. At least a portion of the audiosegments may correspond to a multi-party conversation. The multi-partyconversation may include an ongoing multi-party conversation. Accessingthe audio media items may include accessing one or more audio segmentsassociated with a prior portion of the ongoing multi-party conversation.Accessing the audio media items may include accessing a streaming audiosequence associated with a current portion of the ongoing multi-partyconversation. Each audio segment may include an associated identifier ofa creator of the audio segment.

Receiving the visual media item may include dis-playing the visual mediaitem based on, at least in part, a minimum display time for receivedvisual media items.

According to another implementation, a computing system includes atleast one processor. The at least one processor may be configured forreceiving a plurality of media items from a communication system, theplurality of media items including at least audio media items and visualmedia items. The at least on processor may also be configured forproviding a user interface including a time-wise sequence display of theaudio media items and a time-wise sequence display of the visual mediaitems. The at least one processor may also be configured for accessingthe audio media item including sequencing the display of the visualmedia items based on the display of the audio media items. The at leastone processor may further be configured for accessing the visual mediaitems including sequencing the display of the visual media itemsindependently of the display of audio media items.

One or more of the following features may be included. The audio mediaitems may include a plurality of audio segments corresponding torespective audio transmissions by one or more users associated with achannel of the communication system. At least a portion of the audiosegments may correspond to a multi-party conversation. The multi-partyconversation may include an ongoing multi-party conversation. Accessingthe audio media items may include accessing one or more audio segmentsassociated with a prior portion of the ongoing multi-party conversation.Accessing the audio media items may include accessing a streaming audiosequence associated with a current portion of the ongoing multi-partyconversation. Each audio segment may include an associated identifier ofa creator of the audio segment.

Receiving the visual media item may include dis-playing the visual mediaitem based on, at least in part, a minimum display time for receivedvisual media items.

The details of one or more implementations are set forth in theaccompanying drawings and the description below. Other features willbecome apparent from the description, the drawings, and the claims.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

FIG. 1 diagrammatically depicts a communication process coupled to adistributed computing network.

FIG. 2 is a flowchart of a process that may be executed by thecommunication process of FIG. 1.

FIG. 3 graphically depicts a user interface that may be generated, atleast in part, by the communication process of FIG. 1.

FIG. 4 graphically depicts a user interface that may be generated, atleast in part, by the communication process of FIG. 1.

FIG. 5 is a flow chart of a process that may be executed by thecommunication process of FIG. 1.

FIG. 6 graphically depicts a user interface that may be generated, atleast in part, by the communication process of FIG. 1.

FIG. 7 is a diagrammatic view of the computing device of FIG. 1,according to an embodiment of the present disclosure.

DETAILED DESCRIPTION OF THE INVENTION

In general, a communication system may be provided that may allow usersto communicate with one another using a variety of different media typesin a multi-temporal manner, and using various devices, such as mobilecomputing devices (e.g., smartphone, tablet computing devices,net-books, etc.), personal computers (e.g., notebook computers, desktopcomputers, etc.), gaming consoles, set top boxes, special purposecomputing devices, or other suitable devices. An example of such acommunication system is described in U.S. patent application Ser. No.13/472,639, filed on 16 May 2012, and entitled “Communications System”,the entire dis-closure of which is incorporated herein by reference. Forexample, in some embodiments the communication system may allow users ofthe system to communicate with one another using audio, visual, or othermedia types. Audio media types may include synchronous and/orasynchronous voice messages. For example, synchronous voice messages mayinclude multi-directional live audio exchanges, such as voice-over-IPexchanges, or exchanges using other varieties of telephony. In a similarmanner, an example of a synchro-nous visual media type may include amulti-party video conference (e.g., which may be effectuated usingvideo-over-IP or other suitable video conferencing technology),streaming video broadcast by one user to other user, etc. In someembodiments, during the course of synchronous audio and/or visualcommunications between users of the communication system other mediatypes may be shared by the users of the communication system. Forexample, during the course of an audio-based conversation between usersof the communication system, the users may share documents, pictures,video clips, text messages, etc. In some embodiments, the communicationsystem may allow the users of the communication system to consume theshared media or documents while also engaged in an audio or videoconversation/communication with other users of the communication system.Further, in some embodiments the communication system may allow users tosynchronously, and/or asynchronously share media or documents withoutotherwise being engaged in an audio and/or videoconversation/communication with other users of the communication system

In some embodiments, in addition, or as an alternative, to synchronouscommunications, the communication system may allow for asynchronousexchanges between users of the communication system. Asynchronousexchanges may include, for example, exchanges between users of thecommunication system who are not actively participating in thecommunication at the same time. For example, a first user may postcommunications while other users of the communication system are notonline or actively “listening” The other users, who were not online whenthe first user posted his communications, may consume the first user'sposts at a later time. Various media types may be used in connectionwith such asynchronous communications. For example, the first user maypost audio or video clip media types, documents, pictures, textmessages, etc.

In some embodiments, asynchronous exchanges may occur between users ofthe communication system who may each be online at the same time. Forexample, the users may exchange (and/or one user may send and one ormore other users may receive) various communications, such as audiofiles (e.g., as streaming audio, discrete received audio clips, etc.),video files (e.g., as streaming video, discrete received video clips,etc.), text messages, documents, pictures, or any other suitable mediatypes. In an example of such an embodiment, even when the variousparties to the communication may be online at the same time, theasynchronous nature of the exchanges may not necessitate an immediateconsumption of a communication from one user to another, and/or may notnecessitate an immediate response from on user to another. As such, acommunication including an asynchronous exchange may be a less intrusiveor demanding interaction that a purely synchronous communication.

In addition to purely synchronous or purely asynchronous exchanges, acommunication system may support exchanges that include synchronous andasynchronous components and/or that may transition between synchronousand synchronous exchanges through the course of a single inter-action.For example, an interaction between users of the communication systemmay include synchronous components, such as voice-over-IP exchanges, aswell as asynchronous exchanges, such as text messages, exchanged videoclips or documents, etc. In an example, a communication between threeusers of the communication system may begin with a first user sending adocument to the other two users, and may give rise to an exchange oftext messages (e.g., in a form similar to SMS message, or instantmessage chat, etc.) between the users. Further one user may transmit anaudio message to the other two users (e.g., as a discrete audio file oras streaming audio content). In an embodiment, the communication systemmay allow one or both of the other two users to engage the audio messagefrom the first user by establishing a three way conference call.Further, one or the users may drop off of active engagement in theconference call, e.g., to become a passive listener of the ongoingconversation between the remaining two users participating in abidirectional conversation. For example, dropping off of activeinvolvement in the conversation may allow the third user to attend toanother matter, or otherwise direct their attentions. Whileparticipating as a passive listener of the conversation between thefirst two users, the third user may participate in the exchange, e.g.,by sending text messages or the like to the other two users. Further,one of the remaining users on the voice call may also leave the call,for example to devote all or a portion of their attention to anothermatter. The first user may continue to transmit audio messages to theother two participants (e.g., as streaming audio that may be listened toby the online users or transmitted audio files that may be consumed bythe users when they desire), and the other two users may similarlytransmit various media exchanges, such as audio, video, pictures, textmessages, documents, etc., to the other participants of the exchange.

According to one aspect, the communication system may utilized a sharedvirtual space. In an embodiment, the shared virtual space may include avirtual space (such as a shared online folder, etc.) that may beallocated to each channel of the communication system. In an embodiment,a channel of the communication system may include a defined default setof participants for communications. Each channel of the communicationsystem may include one or more calls associated with the channel. Eachof the calls associated with a given channel may include the samedefault set of participants. In some embodiments, the participants of acall on a given channel may vary from the default participant set, e.g.,to include greater or fewer actual participants. For example, a call ona given channel may not require participation by all of the defaultparticipants of the channel. Similarly, a user may participate in a callon a channel even if the user is not a member of the default participantset for the channel. In some embodiments, the user who is not a memberof the default participant set for the channel may have different accesspermissions relative to the shared space as compared to members of thedefault participant set (e.g., the user may only access the one callthat he participated in, etc.). Each call associated with a channel onthe communication system may generally include a set of interactionsbetween the default participants of the channel. For example, the set ofinteractions may include a file (such as a document, or a video file)sent to the other participants on the channel. In another example, theset of interactions may include a multi-participant video conference,along with a plurality of shared documents, and text messages from oneor more users to the other users. Various additional combinations ofmedia type and numbers of exchanges may be included within a set ofinteractions defining a call. In general, a call may include one or moregenerally contemporaneous exchanges that may be considered a single timebounded interaction.

In an embodiment, the shared virtual space may provide a durable recordof the calls taking place on a given channel. For example, each of theexchanges may be stored on the shared virtual space. For example,synchronous voice conversations (e.g., which may occur as voice-over-IPexchanges) may be stored as audio files, video conferences may be storedas video files, other media types that may be exchanged by users of thecommunication system may be stored in a variety of formats dependingupon the media type. In an embodiment, one or more of the participantsdefining the channel on the communication system may access the sharedvirtual space and access the exchanges associated with one or more callsassociated with the channel.

Referring to FIG. 1, there is shown communication process 10 a through10 d (which may collectively and/or generally be referred to ascommunication process 10) that may reside on and may be executed by oneor more client electronic devices (e.g., client electronic devices 12,14, 16, etc.) and/or by server computer 18. The one or more clientelectronic devices 12, 14, 16 and/or server computer 18 may be connectedto network 20 (e.g., the Internet, a local area net-work, a privategovernment network, or other network). Examples of client electronicdevices may include mobile computing devices (e.g., smart phones 12, 14,tablet computing devices, data enabled cellular telephones, networkconnected personal digital assistants, or the like), personal computingdevices (e.g., notebook computer 16, desk top computers, gamingconsoles, and the like), network connected television devices and/orset-top boxes, networked camera devices, networked embedded computingdevices, as well as various additional/alternative network connectablecomputing devices. Examples of server computer 18 may include, but arenot limited to: a personal computer, a server computer, a series ofserver computers, a mini computer, a mainframe computer, cloud computingservices that may include virtualized instances of server computers, andthe like.

As will be described in greater detail below, communication process 10may generally provide an integrated communication system that may allowsynchronous and/or asynchronous interactions between small and/or largegroups of users via multiple data and/or media types. Various differenttypes of information, ideas, and subject matter may be best communicatedand shared in different modalities. As such, communication process 10may allow for rich interactions between users through the concurrentexchange, sharing, and/or consumption of audio messages andconversations, video content, text-based information, pictures, and thelike. Communication process 10 may allow multiple different data andmedia types to be exchanged between users and consumed by the users byproviding an integrated user experience.

The instruction sets and subroutines of concept development process 10,which may include one or more software modules, and which may be storedon storage device (e.g., one or more of storage devices 22, 24, 26, 28)coupled to one or more of client electronic devices 12, 14, 16, and/orserver computer 18, may be executed by one or more processors (notshown) and one or more memory modules (not shown) incorporated intoclient electronic devices 12, 14, 16 and/or server computer 18. Storagedevices 22, 24, 26, 28 may include but is not limited to: a hard diskdrive; a solid state drive, a tape drive; an optical drive; a RAIDarray; a random access memory (RAM); a read-only memory (ROM), a flashmemory device, or the like.

Each client electronic devices 12, 14, 16 may execute an appropriateoperating system, for example, Mac OS, iOS, Android OS, Windows, orother suitable operating system. (Mac OS is a trademark of Apple Inc. inthe United States, other countries, or both; iOS is a trademark of CiscoSystems, Inc.; Android is a trademark of Google Inc. in the UnitedStates, other countries, or both; Windows is a trade-mark of MicrosoftCorporation in the United States, other countries, or both.)Additionally, client electronic devices 12, 14, 16 may allow for variousdata capture and rendering functionality, such as audio capture, audiostreaming, and audio playback, video capture, video streaming, and videoplayback, text input and text display, and image capture and imagedisplay. Various different client electronic devices may further provideadditional/alternative functionality, including, but not limited to,sensor functionality including, but not limited to location (e.g., viaGPS data acquisition or the like).

Further, while not shown, client electronic devices 12, 14, 16 mayexecute various applications, including, but not limited to web browserapplications (e.g., Safari®, Chrome®, Internet Explorer®; Safari is atrademark of Apple Inc. in the United States, other countries, or both;Chrome is a trademark of Google Inc. in the United States, othercountries, or both; Internet Explorer is a trademark of MicrosoftCorporation in the United Sates, other countries, or both), textmessaging applications, instant messaging application, audio, videoand/or image capture and editing application, social networkingapplication (e.g., Facebook application, LinkedIn application, etc.).Various additional/alternative applications may similarly be executed byone or more of client devices 12, 14, 16. Communication process 10 a, 10b, 10 c may be a stand-alone application and/or may be a module and/orcomponent of one or more additional applications executed by clientelectronic devices 12, 14, 16. Additionally/alternatively, communicationprocess 10 a, 10 b, 10 c may interact with one or more applicationsexecuted by client electronic devices 12, 14, 16.

In some embodiments, server computer 18 may be an internet-connectedserver (or a series of servers) running a network operating system,examples of which may include but are not limited to: Microsoft®Windows® Server; Novell® NetWare®; or Red Hat® Linux®, for example.(Microsoft and Windows are registered trademarks of MicrosoftCorporation in the United States, other countries or both; Novell andNetWare are registered trademarks of Novell Corporation in the UnitedStates, other countries or both; Red Hat is a registered trademark ofRed Hat Corporation in the United States, other countries or both; andLinux is a registered trademark of Linus Torvalds in the United States,other countries or both.) In some embodiments, server computer 18 mayexecute a web server application, examples of which may include but arenot limited to: Microsoft IIS, Novell Webserver™, or Apache® HTTPServer, Apache® Tomcat® application server, that allows for HTTP (i.e.,HyperText Transfer Protocol) access to server computer 18 via network 20(Webserver is a trademark of Novell Corporation in the United States,other countries, or both; and Apache and Tom-cat are registeredtrademarks of Apache Software Foundation in the United States, othercountries, or both). In some embodiments, the server computer beimplemented as cloud services, such as Amazon Web Services and/orMicrosoft Windows Azure. Network 20 may be connected to one or moresecondary networks (e.g., network 30), examples of which may include butare not limited to: a local area network; a wide area network; or anintranet, for example.

In some embodiments, server computer 18 may execute various applicationsin addition to communication process 10 d. For example, server computer18 may execute data storage systems, including but not limited todatabase systems. Server computer 18 may also execute, for example, aVoice over IP system and/or unified telephony system (e.g., which may beprovided by the Asterisk open source platform sponsored by Digium, Inc.,Free SWITCH open source tele-phony platform or other suitablecommunication application and/or platform. Various additional and/oralternative applications may be executed by server computer 18.

Consistent with various embodiments, communication process 10 mayinclude a client-side process executed by one or more of clientelectronic devices 12, 14, 16. Further, in some embodiments,communication process 10 may include a server-side process executed byserver computer 18. For example, as a server-side process, one or moreusers (e.g., users 32, 34, 36) may access the server-side process (e.g.,communication process 10 d) via a web browser, or other suitableapplication (e.g., which may include an application that may providefunctionality in addition to accessing server-side communication process10 d). Additionally, in some embodiments, communication process 10 mayinclude a hybrid server-client process with some of the functionality ofcommunication process 10 executed by one or more of client electronicdevices 12, 14, 16 and some of the functionality of communicationprocess 10 executed by server computer 18. In various hybridembodiments, one or more of client-side communication processes 10 a, 10b, 10 c may include stand-alone communication applications and/or mayinclude modules or features of other applications, and/or may otherwiseintegrate with and/or interact with one or more other applications(e.g., which may provide functionality in addition to functionalityprovided by one or more of communication applications 10 a, 10 b, and/or10 c).

Users 32, 34, 36 may access communication process 10 via the clientelectronic device executing communication process 10 (e.g., smart phone12 executing communication process 10 a, smart phone 14 executingcommunication process 10 b, notebook computer 16 executing communicationprocess 10 c). Using communication process 10, one or more of users 32,34, 36 may interact with one another using a variety of data types in asynchronous and/or an asynchronous manner, allowing for a rich anddynamic exchange of ideas and information between the users.

The various client electronic devices may be directly or indirectlycoupled to network 20 (or network 30). For example, smart phone 12 isshown wirelessly coupled to network 20 via wireless communicationchannel 38 established between smart phone 12 and wireless access point(i.e., WAP) 40, which is shown directly coupled to network 14. WAP 40may be, for example, an IEEE 802.11a, 802.11b, 802.11g, Wi-Fi, and/orBluetooth device that is capable of establishing wireless communicationchannel 38 between smart phone 12 and WAP 40. Smart phone 14 is shownwirelessly coupled to network 14 via wireless communication channel 42established between smart phone 14 and cellular network/bridge 44, whichis shown directly coupled to network 14. Notebook computer 16 is showncoupled to network 30 (e.g., which may further be coupled to network 20and/or server computer 18 via connection 46) via a hardwired connection.

As is known in the art, all of the IEEE 802.11x specifications may useEthernet protocol and carrier sense multiple access with collisionavoidance (i.e., CSMA/CA) for path sharing. The various 802.11xspecifications may use phase-shift keying (i.e., PSK) modulation orcomplementary code keying (i.e., CCK) modulation, for example. As isknown in the art, Bluetooth is a telecommunications industryspecification that allows e.g., mobile phones, computers, and personaldigital assistants to be interconnected using a short-range wirelessconnection.

One or more example embodiments may be described that may illustrateparticular features and/or aspects of the disclosure. For the purpose ofdescription, reference may be made to communication process 10 aexecuted by smart phone 12 and/or in connection with user 32. It will beunderstood, however, that such reference is intended only for thepurpose of explanation, and should not be construed as a limitation onthe present disclosure. Other instantiations of the communicationprocess, client electronic devices, and/or users may be equallyutilized.

According to one aspect, communication process 10 may enable differentmodes for a user to create audio and/or visual media content, andfacilitate transitioning between the different modes of creation by theuser. For example, in a first mode the user (e.g., user 32 via smartphone 12) may create burst of audio that may be sent to other users ofthe communication system and posted to a shared virtual space associatedwith a channel of the communication system. In such a mode the user maycreate and share (e.g., by way of trans-mission to other users andposting to the shared virtual space), for example, short voice messagesor audio clips, such as an odd noise being made by a car, or brief soundbite from a concert. In an embodiment, a first user input via a userinter-face associated with smart phone 12 may allow the user to createand share the audio burst. Further, communication process 10 may alsopermit the user to create and share longer audio sequences, such asdetailed description of an idea or an audio conversation with anotheruser of the communication system. In an embodiment, the user maytransition from the short audio burst mode to the more extended orlength audio mode by providing a modification to the first user input.According to some embodiment, communication process 10 may similarlyallow the user to create visual content in various modes, such asindividual images, image bursts (e.g., which may provide a shortanimation in some embodiments), and video content, with similar modifiedinputs. As such, the user may be able to create and share differenttypes of media through different modes using relatively simple andintuitive inputs. While example devices have been described asparticipating in interactions via the communication system, variousadditional devices may also be utilized. In some embodiments, devicesused in connection with the communication system may include device thatenable full participation in communication (e.g., may both createinteractions such as audio, video, pictures, text, etc., and consumeinteractions such as playing back audio and/or video, displayingpictures and text, etc.) and/or may enable partial participation incommunications (e.g., Wi-Fi enabled camera which may create and transmitpicture or video interactions but may not necessarily be able to consumeinteractions or web feeds that may be configured to publish photos,text, audio, video, etc. from the feed to the communication channel).Various additional/alternative embodiments and devices may be similarlyutilized.

Referring also to FIG. 2, communication process 10 may receive 100 auser input via a user interface. Communication process 10 may alsoreceive 102 media data in response to receiving the user input.Communication process 10 may also stream 104 the media data to one ormore communication system users. Communication process 10 may furtherpost 106 the media data to a shared virtual space associated with acommunication system channel.

For example, communication process 10 may receive 100 a user input via auser interface. Referring also to FIG. 3, communication process 10 mayprovide user interface 150. In an embodiment, user interface 150 maygenerally include an indicator 152 of one or more other users of thecommunication system that may be associated with the channel of thecommunication system and/or who may be actively participating in anexchange. Similarly, user interface 150 may include visual mediainterface 154, via which visual media content associated with the callmay be displayed, accessed, and/or otherwise interacted with by user 32(i.e., the device operator of smart phone 12 of the illustrativeexample). User interface 150 may also include audio media interface 156,via which audio media content associated with the call may be accessesand/or interacted with by a user 32. Further, user interface 150 mayinclude audio capture button 158, e.g., which may be utilized forcreating and sharing audio content with other participants of the callone the communication channel.

In an embodiment, the media data may include audio media data.Continuing with the illustrative example, user 32 may which to generatea short voice message. Accordingly, user 32 may touch audio capturebutton 158. In response to user 32 touching audio capture button 158,communication process 10 may receive 102 media data (e.g., audio mediadata in the instant example in which the media data may include audiomedia data). In the illustrative example, smart phone 12 may include atouch screen display. Accordingly, smart phone 12 may receive one ormore user inputs in response to a user touching a portion of the touchscreen display associated with a virtual button (such as audio capturebutton 158) displayed on the touch screen display of smart phone 12. Itwill be appreciated that other user input devices may be utilized. Forexample, trackpad input devices, mouse pointing devices, or the like maybe utilized in connection with other computing devices.

As mentioned above, communication process 10 may also receive 102 mediadata in response to receiving the user input. For example, in responseto user 32 touching audio capture button 158, smart phone 12 may capturean audio input, e.g., utilizing a microphone or other audio capturefunctionality associated with smart phone 12. In an embodiment, the userinput may include an associated input duration time period. That is,user 32 may touch audio capture button 158 for an input duration timeperiod. Receiving 102 the media data may include receiving 108 the mediadata for the input duration (e.g., communication process 10 may receive108 the media data for as long as user 32 is touching audio capturebutton 158). That is, for example, user 32 may press and hold audiocapture button 158 for a period of time during which user 32 wishes tocreate and share the audio message. Accordingly, user 32 may press andhold audio capture button 158 while user 32 is creating the audiocontent (e.g., speaking into a microphone associated with smart phone12, or recording a sound with smart phone 12, etc.) that user 32 wishedto share with the other users of the communication system. For example,if user 32 wishes to share a voice message with the other users of thecommunication system, user 32 may press audio capture button 158 and mayhold audio capture button while user 32 is speaking the voice message.Upon completing the voice message (and/or the portion of the voicemessage that user 32 is instantly creating, e.g., with further portionsof the voice message to be subsequently created) user 32 may releaseaudio capture button 158. Accordingly, for the input duration timeperiod during which user 32 is holding audio capture button 158,communication process 10 may receive 108 the media data for that inputduration.

Communication process 10 may also stream 104 the media data to one ormore communication system users. For example, streaming 104 the mediadata may include transmitting the media data to at least a secondcommunication system user as a low latency, packetized datatransmission. In an embodiment, communication process 10 may stream 104the media data to at least the second communication system user as themedia data is being received 102 by communication process 10. In onesuch embodiment, communication process 10 may stream 104 the media datain real-time while the media data is being received 102 by communicationprocess. As such, the second communication system user may receive themedia data in real-time (and/or near real-time) as user 32 is creatingthe voice message, in the illustrative example (and/or other media databeing created in other embodiments). In some embodiments, communicationprocess 10 may stream 104 the media data to the second communicationsystem user after the entirety of the media data has been received(e.g., after user 32 releases audio capture button 158). Streaming 104the media data to the second communication system user after user 32releases audio capture button 158 (perhaps long after) may in someinstances occur when the second user is not online when user 32initially captures the audio data (e.g., during asynchronouscommunication between user 32 and the second user). Streaming 104 themedia data to the second user after the entirety of the media data hasbeen received may also occur in other circumstances.

Communication process 10 may further post 106 the media data to a sharedvirtual space associated with a communication system channel. Asgenerally discussed above, the shared virtual space may include anetwork accessible storage, such as an online shared folder, acloud-based data repository, or the like. In an embodiment, the sharedvirtual space may be accessible by one or more users of thecommunication system. In an embodiment, posting 106 the media data tothe shared virtual space may include storing the media data to theshared virtual space in a suitable file format that may permit access tothe stored media data by one or more of the users of the communicationsystem. In an embodiment, posting 106 the media data to the sharedvirtual space may include associating an identifier of the creator orcreators (e.g., in an embodiment, in which the media data may include acombination of media data created by more than one user) of the mediadata with the stored media data. In an embodiment, the identifierassociated with the media data may include a tag, or other Meta dataassociated with the filed including the media data.

Further, in some embodiments, the posting 106 the media data to theshared virtual space may include associating the media data with aparticular call and/or interaction. In an embodiment, a call on thecommunication system may include an explicitly defined entity. Forexample, a user of the communication system may begin a call with one ormore other users of the communication system. Beginning a call mayinclude an explicit action to call the one or more other users. In someembodiments, beginning the call may result from a user responding to oradding to a post that may already exist in the communication systemchannel. Further, one or more of the users of the communication systemmay explicitly end the call. The call may include the interactions thatoccur between the users of the communication system between the timethat the call begins until the call ends. In an embodiment, a call onthe communication system may include a time bounded sequence ofexchanges. For example, a sequence of exchanges may be grouped as asingle call of a maximum time between each of the exchanges is less thana threshold time. The media data may also be associated with a channelof the communication system. As also generally dis-cussed above, achannel may generally include a plurality of calls or interactions by,between, and/or including a defined default group of participants ascontributors and/or recipients of the interactions. As also generallydiscussed above, the interactions may include the exchange,dissemination, broad-cast, and/or sharing of a variety of media typesacross a variety of modalities, and temporal domains. In an embodiment,the media data may be associated with the channel by virtue of beingassociated with a given call (e.g., which may be associated with thechannel). In other embodiments, a direct association between the mediadata and the channel may be created. For example, a tag, or othermetadata, may be associated with the media data, which may associatedthe media data with the channel. According to any various embodiments,the media data may be associated with the channel on the communicationsystem, and/or may be associated with a particular call on the channel,and/or may be associated with a particular user of the communicationsystem.

In an embodiment, posting 106 the media data to the shared virtual spacemay include posting 106 the media data to the shared virtual spacegenerally simultaneously with streaming 104 the media data to at leastthe second user of the communication system. In such an embodiment, themedia data may be posted generally in real-time with the creation of themedia data. As such, in some embodiments the media data may beaccessible by a user accessing the shared virtual space generally inreal-time with the creation of the media data.

According to an example embodiment, posting 106 the media data to theshared virtual space may include streaming the media data to the sharedvirtual space (e.g., streaming the media data to the shared virtualspace as a recipient and/or to a process that may capture the media dataand save the media data to the shared virtual space). In one suchembodiment, communication process 10 may multi-cast the media data to atleast the second user of the communication system and to the sharedvirtual space. In another example embodiment, streaming 104 the mediadata to at least the second user of the communication system and posting106 the media data to the shared virtual space may include streaming themedia data to a process (e.g., the server-side communication process),which may, e.g., stream the media data to at least the second user andsave the media data to the shared virtual space. Variousadditional/alternative embodiments may be equally utilized.

As described above, in an embodiment the user input may include anassociated input duration time period. Further, receiving 102 the mediadata may include receiving 108 the media data for the input duration. Assuch, in the described embodiment user 32 may create and share the mediadata as long as audio capture button 158 is pressed. In some instancesit may be desirable to continue capturing audio media data without theneed to continue pressing audio capture button 158. For example, user 32may wish to be able to capture audio media via with hands-free operation(e.g., to allow the user to better direct a microphone of smart phone 12toward a source of sound to be shared, to allow user 32 to performanother activity with his hands, etc.). In an embodiment, communicationprocess 10 may receive 110 an input modification. Further, communicationprocess 10 may receive the media data in response to the inputmodification including receiving the media data for a time periodgreater than the input duration. For example, as generally describedabove, communication process may receive 102 the media data for as longas the user input is received 100. In response to receiving 110 theinput modification, communication process 10 may continue to receive 102the media data even after the input is no longer being received.According to an embodiment, the input modification may lock the userinput to allow communication process 10 to continue to receive the mediadata.

For example, in user interface 150 depicted in FIG. 3, user 32 may pressaudio capture button 158 to capture audio media data as long as audiocapture button 158 is being pressed. In an embodiment, user 32 mayinvoke the input modification as a swiping gesture associated with audiocapture button 158. For example, the swiping gesture may includepressing audio capture button 158 and, with audio capture button 158pressed, executing a sliding motion with the finger pressing audiocapture button 158 laterally, e.g., toward pad lock icon 160 in aleft-to-right direction. In the illustrative example, the slidinggesture of audio capture but-ton 158 toward pad lock icon 160 may bereceived 110 as an input modification which may “lock” the audio captureon, thereby causing communication process 10 to receive 102 audio mediadata for a time period greater than the input duration (e.g., longerthan the time period for which audio capture button 158 is pressed).

In an embodiment, communication process 10 may receive 102 audio mediadata in response to receiving 102 the user input and further in responseto receiving 110 the input modification. Further, communication process10 may stream 104 and post 106 the media data, as generally describedabove, for as long as communication process 10 may continue to receive102 the media data. In an embodiment, communi-cation process 10 maycontinue to receive 102 the media data until the input modification isreleased. According to various embodiments, user 32 may release theinput modification (i.e., the “locked” audio capture button in theillustrative example) by swiping in the opposite direction as employedto “lock” audio capture button 158 (e.g., in a right to left directionin illustrated user interface 150). In another embodiment, user 32 may“unlock” audio capture button 158 (thereby causing communication processto stop receiving media data) by pressing the central, or normal,position of audio capture button 158. Various additional/alternativemechanism for stopping the continuous capture of media data may beutilized.

As discussed above, communication process 10 may receive 102, stream104, and post 106 media types in addition/as an alternative to audiomedia data. In an example embodiment, the media data may include visualmedia data. According to such an example, communication process 10 mayreceive 100 a user input to capture visual media, such as digitalpictures, e.g., via digital camera functionality associated with smartphone 12. Other computing devices may capture digital pictures withcamera functionality incorporated into the computing device and/or viaother devices associated with the computing device (such as a webcamera, or the like). In an example embodiment, rotating smart phone 12from a portrait orientation (e.g., with the longitudinal axis of smartphone 12 generally oriented in a vertical direction) to a landscapeorientation (e.g., with the longitudinal axis of smart phone 12generally oriented in a horizontal direction) may enable visual mediacapture functionality associated with communication process 10. Visualmedia capture functionality may also be otherwise enabled. When visualcapture functionality is enabled, at least a portion of the display ofsmart phone 12 may act as a viewfinder, depicting the field of view of adigital camera associated with smart phone 12. In one such embodiment,user 32 may tap any portion (and/or a designated portion or feature) ofthe viewfinder display to cause communication process 10 to receive 100a user input via a user interface. In response to receiving 100 the userinput (i.e., a tap on a viewfinder display), communication process 10may receive 102 media data in the form of a single digital picture. Insuch an embodiment, each time user 32 taps the viewfinder display,communication process 10 may receive 102 media data corresponding to asingle digital picture (e.g., in which the duration for whichcommunication process 10 may receive the visual media data may generallycorrespond to a time period of the user input). It will be appreciatedthat other user inputs may equally be utilized for capturing digitalimages.

Continuing with the above example, communication process 10 may receive100 a user input in which the user input includes an associated inputduration time period. Further, communication process 10 may receive 102the media data for the input duration. As described above, user 32 maytap the viewfinder display associated with the user interface. Each timeuser 32 taps the viewfinder display (and/or a designated portion orfeature of the viewfinder display) communication process 10 may receive100 a user input and may receive 102 media data in the form of a singledigital picture for each tap, e.g., based on, at least in part, theinput duration. Further, in some instances user 32 may touch theviewfinder display for an extended time period (e.g., a time periodlonger than a tap). In an embodiment, in response to an extended touchcommunication process 10 may receive 102 visual media data for the inputduration. Receiving 102 visual media data for an input durationassociated with an extended touch may include receiving 102 visual mediainput data as a burst of digital pictures. In some embodiments,communication process 10 may receive 102 the burst of digital picturesfor as long as user 32 continues the touch of the viewfinder display. Inother embodiments communication process 10 may receive 102 the visualmedia data in the form of a burst of digital pictures including apredetermined number of pictures (e.g., a five picture burst, etc.). Insome embodiments, communication process 10 may stream 104 and or post106 the media data including a burst of digital pictures as a series ofdiscrete images, and/or as an animation including the discrete images ofthe burst. In some embodiments, communication process 10 may receive 102visual media data in response to an extended touch as a video cliphaving a duration that may be based on, at least in part, the length ofthe user input touch on the viewfinder display. Other embodiments maysimilarly be utilized.

In an example embodiment, communication process 10 may receive 110 aninput modification. Further, communication process 10 may receive 102the media data in response to the input modification including receivingthe media data for a time period greater than the input duration. In theexample embodiment in which the user input may include a touch withinthe viewfinder display, an example of an input modification may includea touch and slide gesture. For example, and referring also to FIG. 4, insuch an embodiment user 32 may touch the display within the viewfinderdisplay and may then slide his finger across the display, e.g., in ahorizontal direction or in a vertical direction. For example, user 32may touch camera icon 162 within the display and may slide icon 162 toprovide an input modification. In an embodiment, in response toreceiving 110 a touch and slide input modification, communicationprocess 10 may receive 102 the media data for a time period greater thanthe duration of the input. For example, the touch and slide inputmodification may cause communication process 10 to receive visual mediadata in the form of a burst of digital picture or a video recording. Inan embodiment, the video recording may continue until stopped by user 32(e.g., utilizing a cancel gesture such as another touch input on theviewfinder display, etc.). Communication process 10 may generally stream104 and post 106 the video media data as generally discussed hereinabove.

In the foregoing example in which the input modification may include atouch and slide gesture, it will be appreciated that different inputmodifications may be received 110 depending upon the direction of theslide gesture. For example, in an embodiment, user 32 may slide cameraicon 162 upwards (in the depicted embodiment) toward icon 164 to invokea burst picture mode (e.g., as an additional or alternative embodimentto the above-described burst picture mode). The touch and upward slideof camera icon 162 towards burst icon 164 may cause communicationprocess 10 to receive a first input modification. In an embodiment, thefirst input modification may cause communication process 10 to receivevisual media data in the form of multiple digital photographs (e.g.,take at predetermined time intervals), for example every time user 32taps the display of smart phone 12. Further, user 32 may touch and slidecamera icon 162 to the side (e.g., either to the left or to the right).For example, in an embodiment a touch and slide gesture in which theslide is in a left to right direction (e.g., sliding camera icon 162toward video icon 166) may cause communication process 10 to receive 102video media data from a first camera (e.g., a rear facing camera)associated with smart phone 12. In a related manner, a touch and slidegesture in which the slide is in a right to left direction (e.g.,sliding camera icon 162 towards video conference icon 168) may causecommunication process 10 to receive 102 video media data from a secondcamera (e.g., a front facing camera) associated with smart phone 12.Other input modifications may result in different functionality beingexpressed by communication process. Further, it will be appreciated thatother user inputs and other input modifications may be utilized withoutmaterially departing from the disclosure.

In an embodiment communication process 10 may receive 112 a transmissionfrom a second communication system user. The transmission from thesecond communication system user may include, for example, a streamingmedia data transmissions, such as an audio media data transmission(e.g., an audio clip, voice message, etc.) or a visual media datatransmission (e.g., a picture, an animation, a video clip, etc.). In anembodiment, the transmission received 112 from the second communicationsystem user may not time-wise over-lap with streaming 104 the media datareceived 102 by communication process 10 based on a received 100 userinput (e.g., as discussed above). That is, receipt 112 of thetransmission from the second communication system user may not beginduring, or extend through a time period during which communicationprocess 10 may stream 104 media data. In such an embodiment, streaming104 the media data by communication process 10 and receiving 112 thetransmission from the second communication system user may occur astime-wise separate events.

In an embodiment in which the received 112 trans-mission from the secondcommunication system user does not time-wise overlap with streaming 104the media data, posting 106 the media data may include sequentiallyposting the media data with respect to a post associated with thetrans-mission from the second communication system user. For example, ina manner as generally discussed above, media data received bycommunication process 10 may be posted 106 to the shared virtual spaceassociated with a communication system channel. Similarly, media datafrom the second communication system user may be posted to the sharedvirtual space associated with the communication channel. In anembodiment in which the streaming media data from user 32 does notoverlap in a time-wise manner with a transmission from a secondcommunication system user, communication process 10 may post 106 themedia data from user 32 as a separate post from the media datatransmitted by the second communication system user. Further, the postof the media data from user 32 and the post associated transmission fromthe second communication system user may be sequentially ordered on theshared virtual space based on a respective time at which each occurred.

In an example embodiment, receiving 112 the trans-mission from thesecond communication system user may time-wise overlap with streaming104 the media data. For example, the transmission received 112 from thesecond communication system user may begin before streaming 104 themedia data from user 32 is complete. In a similar manner, communicationprocess 10 may receive 112 a transmission from the second communicationsystem user (e.g., which may include streaming media data) that may notbe complete (e.g., communication process 10 may still be receiving 112the transmission from the second communication system user) whencommunication process 10 begins streaming 104 media data from user 32.According to such embodiments, communication process 10 may besimultaneously streaming 104 media data from user 32 and receiving atransmission from a second communication system user for at least aportion the time period during which communication process 10 isstreaming media data from user 32.

In an embodiment in which the media type being streamed 104 bycommunication process 10 and being received 112 from the secondcommunication system user include the same media type (e.g., bothinclude audio media data or both include video media data) streaming 104the media data may include combining the media data and the transmissionfrom the second communication system user as a multi-directionalstreaming media data transmission. For example, assume that the mediadata being streamed 104 from user 32 includes streaming audio (such as avoice message), and the transmission received 112 from the secondcommunication system user also include audio (such as a voice message),communication process 10 may stream 104 the media data from user 32including combining the media data and the transmission being receivedas a multi-directional voice communication (such as a voice-over-IPsession, or other telephony session). As such, user 32 and the secondcommunication system user may engage in a generally real-timebi-directional (or multi-directional in the even that othercommunication system users simultaneously transmitting the same mediatype) conversation. In a similar manner, if the media type beingstreamed 104 from user 32 and being received from the secondcommunication system user both include video data, streaming 104 themedia data from user 32 may include combining the streaming media andthe received transmission as a video conference.

In a generally similar manner, in an embodiment in which receiving 112the transmission from the second communication system user may time-wiseoverlap with streaming 104 the media data, posting 106 the media datamay include posting 106 the media data and the transmission from thesecond communication system user as a combined media data post withinthe shared virtual space. For example, in a manner that is generallyanalogous to combining the streaming media data and the transmissionfrom the second communication system user into a singlemulti-directional conversation or exchange, the posts associated withthe media data from user 32 and with the transmission from the secondcommunication system user may include a single post including thecombined content of the media data from user 32 and the media data fromthe second communication system user. In an embodiment, the postincluding the combined media data from user 32 and the transmission fromthe second communication system user may include an associated indicator(e.g., a tag or other metadata) indicating that the post includescontent from both user 32 and from the second communication system user.

Referring also to FIG. 5, in an embodiment, in an embodimentcommunication process 10 may receive 200 a plurality of media items froma communication system. The plurality of media items may include atleast audio media items and visual media items. Communication process 10may also provide 202 a user interface including a time-wise sequencedisplay of the audio media items and a time-wise sequence display of thevisual media items. Communication process 10 may also access 204 theaudio media item including sequencing the display of the visual mediaitems based on the display of the audio media items. Communicationprocess 10 may further access 206 the visual media items includingsequencing the display of the visual media items independently of thedisplay of audio media items.

For example, and as generally described above, in some embodiments thecommunication system may allow users of the system to interact with oneanother via various different media types and over various temporaldomains. For example, users may interact via audio media types, such asaudio clips, voice messages, interactive conversations between multipleusers, and the like. Similarly, users may interact with one another viavisual media communications, which may include, for example, stillimages, animated images, video clips, video conferences between multipleusers, text messages or text posts, documents, maps, drawings, and thelike. Further, according to various embodiments, media items may betransmitted between users as steaming media items (e.g., which may allowfor low latency and/or real-time or near real-time communicationsbetween users), as well as transmission of media files. The variousmedia items may be transmitted by one user to one or more other users ofthe communication system. Accordingly, communication process 10 mayreceive 200 a plurality of media items from a communication system. Theplurality of media items may include at least audio media items andvisual media items.

In an embodiment, the audio media items may include a plurality of audiosegments corresponding to respective audio transmissions by one or moreusers associated with a channel of the communication system. Forexample, each of the audio segments may include a separate voice messageor audio media file transmitted to a user of the communication system(e.g., user 32 for example) and received 200 by communication process10. Further, and as mentioned above, in some embodiments the audio mediaitems may include audio associated with interactive conversation betweenmultiple users. In such an embodiment, at least a portion of the audiosegments may correspond to a multi-party conversation. For example, themulti-party conversation may include a multi-party conversation thattook place between the parties using the communication system, which mayprovide voice-over-IP or other audio telephony functionality. Each ofthe audio segments associated with the multi-party conversation mayinclude audio generated by each respective participant in themulti-party conversation. For example, every time that a participant inthe conversation speaks, an audio segment may be generated and may bereceived 200 by communication process 10.

In some embodiments the individual audio segments may be based on, atleast in part, audio “whitespaces” created in the audio media. Forexample, while creating a voice message (or other audio media) user 32may pause (or otherwise cause a decrease in the audio signal, such asvolume, received 200 by communication process 10) for greater than athreshold time period, thereby creating an audio “whitespace.”Communication process 10 may segment the audio media based on thedetection of such a whitespace. That is, communication process 10receive 200 a first audio segment corresponding to the audio mediapreceding the whitespace and may receive 200 a second audio segmentcorresponding to the audio media following the whitespace. In agenerally similar manner, during a multi-party conversation between twoor more users (e.g., which may be provided via a voice-over-IP or othertelephony provided by communication system 10), any given audio segmentmay include more than one creator, such as when two users speak at thesame time, a second user begins speaking in less than the thresholdwhitespace time after the first user stops speaking. As such,communication system 10 may receive 200 audio media including an audiosegment of which both the first user and the second user are creators.Further, after the second user speaks, both the first and second user(as well as any other user participating in the multi-partyconversation) may remain silent (and/or generate a decreased audiosignal) for a time period equal to, or greater than, the thresholdwhitespace time period. In such an embodiment, when a user beginsspeaking after the threshold whitespace time period, communicationprocess 10 may receive 200 another audio segment that may include one ormore creators.

In an embodiment, the multi-party conversation may include an ongoingmulti-party conversation. As such, at least a portion of the audio mediaitems may include audio segments from the ongoing multi-partyconversation. As the conversation may include an ongoing conversation,as participants in the conversation continue to speak with one another,communication process 10 may receive 200 additional media itemsincluding audio segments associated with the current state of theongoing conversation. As generally described above, the various audiosegments may be received 200 based on an per-creator basis (e.g., aseparate audio segment may be created every time a different user speaksor otherwise creates audio media) or on a whitespace basis (e.g., inwhich a separate audio segment is created every time an audio whitespaceequal to or greater than a threshold whitespace time period occurs).

Communication process 10 may also provide 202 a user interface includinga time-wise sequence display of the audio media items and a time-wisesequence display of the visual media items. For example, and referringalso to FIG. 6, communication process 10 may provide 202 user interface250. User interface 250 may include audio track display 252, which mayinclude a time-wise sequence display of the audio media items. Forexample, in the illustrated embodiment, the audio track display 252 isdepicted as a segment of audio tape having audio waveforms depictedthereon. In the illustrated user interface the audio waveforms maycorrelate to individual audio segments received 200 by communicationprocess. In an embodiment, user 32 may traverse audio track display 252to access audio segments that occurred later in time and/or earlier intime with respect to one or more currently displayed audio segments.

In an embodiment, user 32 may traverse audio track display 252 byscrolling laterally, for example by executing a side-to side swipegesture across the representation of audio track display 252 on a touchscreen display associated with smart phone 12. In an embodiment, a leftto right swipe gesture may scroll audio track display 252 to the left,allowing user 32 to view audio segments that occurred earlier in time.In a generally corresponding manner, a right to left swipe gesture mayscroll audio track display 252 to the right, allowing user 32 to viewaudio segments that occurred later in time. User 32 may access (e.g.,listen to) an audio segment by selecting (e.g., by touching, clickingon, etc.) a representation of an audio segment displayed within audiotrack display 252. Further, in a situation in which user 32 may bedisplaying and/or accessing an audio segment within audio track display252 that has an associated creation time at an earlier time, user 32 mayselect “stop” button 254. Selecting “stop” button 254 may traverse audiotrack display 252 to display a most currently received 200 audio mediaitem. In a situation in which communication process 10 may be receiving200 streaming audio media when user 32 selects “stop” button 254,communication process 10 begin playing the streaming audio media inreal-time. It will be understood that various additional/alternativedisplays may be implemented for providing a time-wise sequence displayof audio media items. For example, user 32 may also return to a mostcurrent portion of the audio media data by simply allowing the recordedaudio media data (represented in audio track display 252) to play out(e.g., play from a selected portion until all recorded audio media fromthe selected audio media data until the last received audio media data),and/or may traverse audio track display 252 to the most recentlyreceived audio media data. Further, various additional/alternativecontrols may be pro-vided for playing back and/or accessing audio mediaitems (e.g. controls to skip forward or backward, fast-forward andrewind, etc.).

In an embodiment, the individual audio segments may arranged withinaudio track display 252 in a time-wise sequence in which the individualaudio segments may be arranged based on the time at which the audiosegment was created. In an embodiment in which one or more of the audiosegments may not have been received 200 by communication process 10 inreal-time with the creation of the audio segment, the audio segment maybe time-wised sequenced with the other audio segments displayed in audiotrack display 252 based on creation time data associated with the audiosegment. The creation time data associated with the audio segment mayinclude metadata associated with the audio segment. In addition to usingthe metadata associated with the audio segment for time-wise sequencingthe audio segment with respect to other audio segments, in someembodiments communication process 10 may display metadata associatedwith an audio segment currently selected within audio track display 252.For example, communication process 10 may display tag 256, which mayinclude, for example, an identification of the one or more creators ofthe audio segment, a duration time of the audio segment, and a creationtime of the audio segment. Tag 256 may include additional and/oralter-native information.

In a generally corresponding manner, communication process 10 mayprovide also 202 a user interface including a time-wise sequence displayof the visual media items. For example, user interface 250 may includevisual track display 258. Visual track display 258 may include aplurality of images based on and/or representative of individual visualmedia items. For example, each image within visual track display 258 mayinclude a visual media item scaled in size to fit within visual trackdisplay 258. In an embodiment in which a visual media item may include avideo media item and/or an animated visual media item, the image withinvisual track display 258 may include a representative image, such as aninitial image of a video media item or animated visual item. Otherrepresentative images may similarly be employed. Further, in a generallysimilar manner as discussed with respect to the user interfaceassociated with audio media items, visual media items may be arrangedwithin visual track display 258 in a time-wise sequenced arrangementbased on a creation time of each respective visual media item. While notshown, each visual media item may include associated creator(s),creation time, etc., metadata. In some embodiments, at least a portionof the metadata and/or information based on, at least in part, themetadata may be displayed within user interface 250. Further, and alsoin a manner as generally described with respect to the audio mediaitems, user 32 may access visual media items from earlier and/or latercreation times with respect to a currently displayed visual media item,e.g., via a side-to-side swipe gesture executed over visual trackdisplay 258.

Communication process 10 may also access 204 the audio media itemincluding sequencing the display of the visual media items based on thedisplay of the audio media items. For example, as discussed above, user32 may traverse audio track display 252 to access audio segments fromprevious period of time, such as through the user of a left-to-rightswipe gesture across audio track display 252 in the illustrated exampleembodiment. Further, communication process 10 may access 204 an audiomedia item, e.g., from a previous period of time, by selecting the audiowaveform associated with the previous audio media item from within audiotrack display 252. In an embodiment, accessing 204 the audio media itemmay include sequencing the display of the visual media items based onthe display of the audio media items. For example, in response to user32 accessing 204 an audio segment from an earlier period of time,communication process 10 may display, e.g., within visual track display258, one or more visual media items having a creation time that may atleast generally correspond to the creation time of the accessed 204audio media item. Consistent with the foregoing example, when user 32listens to an audio segment from a prior time period visual media itemsfrom a generally corresponding time period may be displayed. In someembodiments, accessing audio media items may include accessing audiomedia items independently of video media items. That is, in someembodiments, user 32 may traverse audio track display 252 without acorresponding sequencing of visual track display 258 and/or items withinvisual track display 258.

As discussed above, the audio media items may, in some embodiments,include audio segments associated with an ongoing multi-partyconversation. In such an embodiment, accessing 204 the audio media itemsmay include accessing one or more audio segments associated with a priorportion of the ongoing multi-party conversation. Further, and asdescribed above, communication process 10 may sequence the display ofvisual media items (e.g., may sequence visual track display 258) todisplay one or more visual media items having a creation time that maygenerally correspond to the prior portion of the ongoing multi-partyconversation (e.g., to the extent that any generally correspondingvisual media items may have been received 200).

In an embodiment, accessing 204 the audio media items may includeaccessing a streaming audio sequence associated with a current portionof the ongoing multi-party conversation. For example, and as generallydiscussed above, after accessing one or more audio segments associatedwith an earlier time period, user 32 may wish to return to a currentlyongoing multi-party conversation, and/or access currently streamingaudio media items. In such a situation, user 32 may select “stop” button254. In response to user 32 selecting “stop” button 254, communicationprocess may play currently streaming audio media items being received200. Additionally, and as generally discussed, each audio segment mayinclude an associated identifier of a creator, or more than onecreators, of the audio segment, e.g., which may be displayed via tag 256and/or via other suitable display.

As described above, in some embodiments access 204 an audio media itemfrom a prior time period may include sequencing a display of visualmedia items to display visual media items that may have been created inthe same general time frame as an audio media item being accessed. Assuch, user 32 may view visual media items generally corresponding intime to audio media items being accessed 204 (e.g., listened to). Insome embodiments, user 32 may wish to view previously received visualmedia items without interrupting playback of audio media items and/orwithout interrupting streaming audio media items being currentlyreceived 200 by communication process 10. In an embodiment,communication process 10 may access 206 the visual media items includingsequencing the display of the visual media items independently of thedisplay of audio media items. For example, user 32 may sequence thedisplay of the visual media items, e.g., via a side-to-side swipegesture executed across visual track display 258. Executing aside-to-side swipe gesture across visual track display 258 may causecommunication process 10 to access 206 visual media items, includingsequencing the display of visual media items by displaying successivelyolder or more recent visual media items (e.g., depending upon thedirection of the swipe gesture) within visual track display 258. In anembodiment, accessing 206 visual media items may be independent ofdisplay of audio media items. As such, while communication process 10may sequence the display of visual media items in response to the swipegesture across visual track display 258, the audio media items displayedvia audio track display 252 may not be sequenced. In some embodiments,traversing visual track display 258 may result in a correspondingsequencing of audio track display 252 (and/or audio media itemsrepresented within audio track display) to display and/or makeaccessible audio media items corresponding to at least a general timeperiod associated with a visual media item displayed in the sequencedvisual track display 252.

In an example embodiment, receiving 200 the visual media item mayinclude displaying 208 the visual media item based on, at least in part,a minimum display time for received visual media items. For example, insome embodiments, communication process 10 may receive 200 a pluralityof visual media items in relatively rapid succession. For example, auser of the communication system may take several digital pictures in ashort time frame, such as in a burst. In an embodiment, the digitalimages may be streamed via the communication system and may be receivedin relatively rapid succession (e.g., based on the speed with which theimages were taken and steamed). In some situations, the images may bereceived 200 so quickly that user 32 may not have time to view eachindividual picture before the next picture is received (e.g., in visualtrack display 258). In such a situation, while user 32 may have theability to traverse the visual media items via visual track display 258,user 32 may not be aware of the number of images that have been received200 by communication process 10, e.g., because the multiple pictureswere received in quick succession. In an embodiment, communicationprocess 10 may display 208 each received visual media item based on, atleast in part, a mini-mum display time for received visual media itemsregardless of the rate at which the visual media items were received.For example, a minimum display time may include a two second displaytime (e.g., or other system or user selected display time). As such,each received 200 visual media item may be displayed for at least twoseconds before the next visual media item is displayed, e.g., regardlessof the rate at which the visual media items are received. As such, user32 may have an opportunity to at least briefly view each visual mediaitem before the next is displayed. User 32 may additionally, be able tobetter ascertain how many individual visual media items (e.g., digitalpictures) were received 200, and may be better able to make a decisionas to whether to go back through visual track display 258 and furtherview various visual media items.

Referring also to FIG. 7, there is shown a diagram-matic view ofcomputing device 18. While computing device 18 is shown in this figure,this is for illustrative purposes only and is not intended to be alimitation of this disclosure, as other configurations are possible. Forexample, any computing device capable of executing, in whole or in part,communication process 10 may be substituted for smart phone 12 withinFIG. 7, examples of which may include but are not limited to computingdevices 12, 14, 16.

Computing device 18 may include microprocessor 600 configured to e.g.,process data and execute instructions/code for communication process 10.Microprocessor 600 may be coupled to storage device 28. As discussedabove, examples of storage device 28 may include but are not limited to:a hard disk drive; a tape drive; an optical drive; a RAID device; an NASdevice, a Storage Area Network, a random access memory (RAM); aread-only memory (ROM); and all forms of flash memory storage devices.IO controller 602 may be configured to couple microprocessor 600 withvarious devices, such as keyboard 604, mouse 606, USB ports (not shown),and printer ports (not shown). Display adaptor 608 may be configured tocouple display 610 (e.g., a CRT or LCD monitor) with microprocessor 600,while network adapter 612 (e.g., an Ethernet adapter) may be configuredto couple microprocessor 600 to network 20 (e.g., the Internet or alocal area network).

As will be appreciated by one skilled in the art, the present disclosuremay be embodied as a method (e.g., executing in whole or in part oncomputing device 18), a system (e.g., computing device 18), or acomputer program product (e.g., encoded within storage device 28).Accordingly, the present disclosure may take the form of an entirelyhardware embodiment, an entirely software embodiment (includingfirmware, resident software, micro-code, etc.) or an embodimentcombining software and hardware aspects that may all generally bereferred to herein as a “circuit,” “module” or “system.” Furthermore,the present disclosure may take the form of a computer program producton a computer-usable storage medium (e.g., storage device 28) havingcomputer-usable program code embodied in the medium.

Any suitable computer usable or computer readable medium (e.g., storagedevice 28) may be utilized. The computer-usable or computer-readablemedium may be, for example but not limited to, an electronic, magnetic,optical, electromagnetic, infrared, or semiconductor system, apparatus,device, or propagation medium. More specific examples (a non-exhaustivelist) of the computer-readable medium may include the following: anelectrical connection having one or more wires, a portable computerdiskette, a hard disk, a random access memory (RAM), a read-only memory(ROM), an erasable programmable read-only memory (EPROM or Flashmemory), an optical fiber, a portable compact disc read-only memory(CD-ROM), an optical storage device, a transmission media such as thosesupporting the Internet or an intra-net, or a magnetic storage device.The computer-usable or computer-readable medium may also be paper oranother suitable medium upon which the program is printed, as theprogram can be electronically captured, via, for instance, opticalscanning of the paper or other medium, then com-piled, interpreted, orotherwise processed in a suitable manner, if necessary, and then storedin a computer memory. In the context of this document, a computer-usableor computer-readable medium may be any medium that can contain, store,communicate, propagate, or transport the program for use by or inconnection with the instruction execution system, apparatus, or device.The computer-usable medium may include a propagated data signal with thecomputer-usable program code embodied therewith, either in baseband oras part of a carrier wave. The computer usable program code may betransmitted using any appropriate medium, including but not limited tothe Internet, wireline, optical fiber cable, RF, etc.

Computer program code for carrying out operations of the presentdisclosure may be written in an object oriented programming languagesuch as Java, Smalltalk, C++ or the like. However, the computer programcode for carrying out operations of the present disclosure may also bewritten in conventional procedural programming languages, such as the“C” programming language or similar programming languages, and/or inscripting languages such as JavaScript programming language or theGroovy programming language. Furthermore, various applicationprogramming interfaces (APis) and/or application development frameworkssuch as the Dojo or Grails development frameworks may be used in writingthe computer program. The program code may execute entirely on theuser's computer, partly on the user's computer, as a stand-alonesoftware package, partly on the user's computer and partly on a remotecomputer or entirely on the remote computer or server. In the latterscenario, the remote computer may be connected to the user's computerthrough a local area network/a wide area network/the Internet (e.g.,network 20).

The present disclosure is described with reference to flowchartillustrations and/or block diagrams of methods, apparatus (systems) andcomputer program products according to embodiments of the disclosure. Itwill be understood that each block of the flowchart illustrations and/orblock diagrams, and combinations of blocks in the flowchartillustrations and/or block diagrams, may be implemented by computerprogram instructions. These computer program instructions may beprovided to a processor (e.g., processor 600) of a general purposecomputer/special purpose computer/other programmable data processingapparatus (e.g., computing device 18), such that the instructions, whichexecute via the processor (e.g., processor 600) of the computer or otherprogrammable data processing apparatus, create means for implementingthe functions/acts specified in the flowchart and/or block diagram blockor blocks.

These computer program instructions may also be stored in acomputer-readable memory (e.g., storage device 28) that may direct acomputer (e.g., computing device 18) or other programmable dataprocessing apparatus to function in a particular manner, such that theinstructions stored in the computer-readable memory produce an articleof manufacture including instruction means which implement thefunction/act specified in the flowchart and/or block diagram block orblocks.

The computer program instructions may also be loaded onto a computer(e.g., computing device 18) or other programmable data processingapparatus to cause a series of operational steps to be performed on thecomputer or other programmable apparatus to produce a computerimplemented process such that the instructions which execute on thecomputer or other programmable apparatus provide steps for implementingthe functions/acts specified in the flowchart and/or block diagram blockor blocks.

The flowcharts and block diagrams in the figures may illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods and computer program products according to variousembodiments of the present disclosure. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof code, which comprises one or more executable instructions forimplementing the specified logical function (s). It should also be notedthat, in some alternative implementations, the functions noted in theblock may occur out of the order noted in the figures. For example, twoblocks shown in succession may, in fact, be executed substantiallyconcurrently, or the blocks may sometimes be executed in the reverseorder, depending upon the functionality involved. It will also be notedthat each block of the block diagrams and/or flow-chart illustrations,and combinations of blocks in the block diagrams and/or flowchartillustrations, may be implemented by special purpose hardware-basedsystems that perform the specified functions or acts, or combinations ofspecial purpose hardware and computer instructions.

The terminology used herein is for the purpose of describing particularembodiments only and is not intended to be limiting of the disclosure.As used herein, the singular forms “a”, an and the are intended toinclude the plural forms as well, unless the context clearly indicatesotherwise. It will be further understood that the terms “comprises”and/or “comprising,” when used in this specification, specify thepresence of stated features, integers, steps, operations, elements,and/or components, but do not preclude the presence or addition of oneor more other features, integers, steps, operations, elements,components, and/or groups thereof.

The corresponding structures, materials, acts, and equivalents of allmeans or step plus function elements in the claims below are intended toinclude any structure, material, or act for performing the function incombination with other claimed elements as specifically claimed. Thedescription of the present disclosure has been presented for purposes ofillustration and description, but is not intended to be exhaustive orlimited to the disclosure in the form disclosed. Many modifications andvariations will be apparent to those of ordinary skill in the artwithout departing from the scope and spirit of the disclosure. Theembodiment was chosen and described in order to best explain theprinciples of the disclosure and the practical application, and toenable others of ordinary skill in the art to understand the disclosurefor various embodiments with various modifications as are suited to theparticular use contemplated.

Having thus described the disclosure of the present application indetail and by reference to embodiments thereof, it will be apparent thatmodifications and variations are possible without departing from thescope of the disclosure defined in the appended claims.

What is claimed is:
 1. A computing apparatus comprising: one or morecomputer readable storage media; a processing system operatively coupledwith the one or more computer readable storage media; and acommunication application stored on the one or more computer readablestorage media and comprising program instructions that, when read andexecuted by the processing system, direct the processing system to atleast: render a user interface to the communication application, theuser interface comprising a visual media interface and an audio mediainterface; render visual media content associated with a multi-partyconversation in the visual media interface; and render audio mediacontent associated with the multi-party conversation in the audio mediainterface.
 2. The computing apparatus of claim 1 wherein the visualmedia interface comprises a visual track display of the visual mediacontent.
 3. The computing apparatus of claim 2 wherein the programinstructions direct the processing system to display the visual mediacontent sequentially according to time along the visual track display.4. The computing apparatus of claim 3 wherein the audio media interfacecomprises an audio track display of the audio media content.
 5. Thecomputing apparatus of claim 4 wherein the program instructions directthe processing system to display the audio media content sequentiallyaccording to time along the audio track display.
 6. The computingapparatus of claim 5 wherein the visual media content comprises picturescaptured during the multi-party conversation and uploaded to a virtualspace associated with the multi-party conversation.
 7. The computingapparatus of claim 6 wherein the audio media content comprises audiorecordings captured during the multi-party conversation and uploaded tothe virtual space associated with the multi-party conversation.
 8. Thecomputing apparatus of claim 7 wherein the user interface furthercomprises an audio capture button for capturing the audio recordings. 9.One or more computer readable storage media having a communicationapplication stored thereon for supporting multi-party conversations, thecommunication application comprising program instructions that, whenread and executed by a processing system, direct the processing systemto at least: render a user interface to the communication application,the user interface comprising a visual media interface and an audiomedia interface; render visual media content associated with amulti-party conversation in the visual media interface; and render audiomedia content associated with the multi-party conversation in the audiomedia interface.
 10. The one or more computer readable storage media ofclaim 9 wherein the visual media interface comprises a visual trackdisplay of the visual media content.
 11. The one or more computerreadable storage media of claim 10 wherein the program instructionsdirect the processing system to display the visual media contentsequentially according to time along the visual track display.
 12. Theone or more computer readable storage media of claim 11 wherein theaudio media interface comprises an audio track display of the audiomedia content.
 13. The one or more computer readable storage media ofclaim 12 wherein the program instructions direct the processing systemto display the audio media content sequentially according to time alongthe audio track display.
 14. The one or more computer readable storagemedia of claim 13 wherein the visual media content comprises picturescaptured during the multi-party conversation and uploaded to a virtualspace associated with the multi-party conversation.
 15. The one or morecomputer readable storage media of claim 14 wherein the audio mediacontent comprises audio recordings captured during the multi-partyconversation and uploaded to the virtual space associated with themulti-party conversation.
 16. The one or more computer readable storagemedia of claim 15 wherein the user interface further comprises an audiocapture button for capturing the audio recordings.
 17. A method ofoperating a computing device in support of a communication application,the method comprising: displaying a user interface to the communicationapplication, the user interface comprising a visual media interface andan audio media interface; displaying visual media content associatedwith a multi-party conversation in the visual media interface; anddisplaying audio media content associated with the multi-partyconversation in the audio media interface.
 18. The method of claim 17wherein the visual media interface comprises a visual track display ofthe visual media content and wherein the method further comprisesdisplaying the visual media content sequentially according to time alongthe visual track display.
 19. The method of claim 18 wherein the audiomedia interface comprises an audio track display of the audio mediacontent and wherein the method further comprises displaying the audiomedia content sequentially according to time along the audio trackdisplay.
 20. The method of claim 19 wherein the visual media contentcomprises pictures captured during the multi-party conversation anduploaded to a virtual space associated with the multi-partyconversation, and wherein the audio media content comprises audiorecordings captured during the multi-party conversation and uploaded tothe virtual space associated with the multi-party conversation.